import { getAction, postAction } from '../controller';

export interface PaymentItemRespVO {
  /**
   * 金额
   */
  amount?: number
  /**
   * 账单号
   */
  billNo?: string
  /**
   * 创建时间
   */
  createTime?: string
  /**
   * 日期
   */
  date?: string
  /**
   * 科室
   */
  departmentId?: string
  /**
   * 科室名称
   */
  departmentName?: string
  /**
   * 主键ID
   */
  id?: number
  /**
   * 项目名称
   */
  itemName?: string
}

export interface RecordOfFeeDetailRespVO {
  /**
   * 金额
   */
  amount?: number
  /**
   * 账单号
   */
  billNo?: string
  /**
   * 日期
   */
  date?: string
  /**
   * 是否删除
   */
  deleted?: boolean
  /**
   * 科室
   */
  departmentId?: number
  /**
   * 科室名称
   */
  departmentName?: string
  /**
   * 主键ID
   */
  id?: number
  /**
   * 医保可报销金额/对接医保后才展示数据
   */
  insuranceReimbursementAmount?: number
  /**
   * 医保报销说明
   */
  insuranceReimbursementNote?: string
  /**
   * 项目名称
   */
  itemName?: string
  /**
   * 费用详细列表
   */
  recordOfFees?: RecordOfFeeRespVO[]
  /**
   * 总金额
   */
  totalPrice?: number
}

export interface RecordOfFeeRespVO {
  /**
   * 科室ID
   */
  departmentId?: number
  /**
   * 科室名称，如：内科
   */
  departmentName?: string
  /**
   * 主键ID
   */
  id?: number
  /**
   * 项目类别，如：甲类、乙类
   */
  itemCategory?: number
  /**
   * 项目名称，如：血常规检查、尿常规检查、心电图
   */
  itemName?: string
  /**
   * 缴费订单 ID
   * 缴费订单id
   */
  paymentNoId?: number
  /**
   * 数量
   */
  quantity?: number
  /**
   * 总价
   */
  totalPrice?: number
  /**
   * 单价，如：82.00
   */
  unitPrice?: number
}

export interface RecordOfFeeRequest {
  /**
   * 金额
   */
  amount?: string
  /**
   * 账单号
   */
  billNo?: string
  /**
   * 创建时间
   */
  createTime?: string
  /**
   * 日期
   */
  date?: string
  /**
   * 科室
   */
  departmentId?: number
  /**
   * 项目名称
   */
  itemName?: string
  /**
   * 患者ID
   */
  patientId: number
  /**
   * 支付状态PAY_REFUND    PAY_SUCCESS("10","支付成功"),
   * PAY_WAITING("0","等待支付"),
   * PAY_REFUND("20","已退款"),
   * PAY_CLOSE("30","支付关闭");
   */
  paymentStatus?: number
}

export interface CreateOrderReqVO {
  /**
   * 业务编号
   */
  id?: number
  patientId?: number
  /**
   * 支付类型（0:现金 1:微信 2:支付宝 3:银行卡 4:医保）
   * 0:现金 1:微信 2:支付宝 3:银行卡 4:医保
   */
  paymentType?: number
}

export const PaymentItemApi = {
  /**
   * 获取待缴费项目
   */
  getPaymentItemList: (params: RecordOfFeeRequest) => {
    return getAction<PaymentItemRespVO[]>('/healthkiosk/payment-item/list', params);
  },

  /**
   * 获取待缴费项目详情
   * @param id
   */
  getPaymentItemDetail: (id: number) => {
    return getAction<RecordOfFeeDetailRespVO>('/healthkiosk/payment-item/listDetail', {
      id
    });
  },

  /**
   * 创建订单
   * @param params
   * @returns
   */
  createOrder: (params: CreateOrderReqVO) => {
    return postAction<number>('/healthkiosk/payment-item/createOrder', params);
  }
};
